import request from '@/config/axios'

// 任务单信息 VO
export interface BaseWorkPlanVO {
  id: string // 任务单信息ID
  workPlanId: string // 任务单号
  productName: string // 产品名称
  customerId: string // 客户ID
  customerName: string // 客户名称
  unitName: string // 计量单位名称
  unitId: string // 计量单位编号
  customerProductId: string // 客户料号
  machineType: string // 产品机种
  machineItem: string // 机种件别
  productShortName: string // 产品简称
  productGroupCode: string // 生产组编码
  workPlanType: string // 任务单类型
  workPlanTypeCode: string // 任务单类型编码
  workShopId: string // 车间ID
  workShopName: string // 车间名称
  workShopCode: string // 车间名称编码
  workPlanProductNum: number // 计划产量
  planStartTime: Date // 计划开始时间
  planEndTime: Date // 计划结束时间
  actualStartTime: Date // 实际开始时间
  actualEndTime: Date // 实际结束时间
  status: number // 工单状态
  distributeManagerId: string // 发料人编号
  receiveManagerId: string // 收料人编号
  moldNo: string // 模具编号
  moldCaveNum: number // 模穴数量
  exchangeType: number // 切换方式
  isMoldSame: boolean // 是否模具共用
  quantity: number // 包规数量
  generateDateTime: Date // 制单时间
  generateUser: string // 制单人
  closeDateTime: Date // 结案时间
  workPlanInterId: string // 任务单内码
}

// 任务单信息 API
export const BaseWorkPlanApi = {
  // 查询任务单信息分页
  getBaseWorkPlanPage: async (params: any) => {
    return await request.get({ url: `/mes/base-work-plan/page`, params })
  },

  // 查询任务单信息详情
  getBaseWorkPlan: async (id: number) => {
    return await request.get({ url: `/mes/base-work-plan/get?id=` + id })
  },

  // 新增任务单信息
  createBaseWorkPlan: async (data: BaseWorkPlanVO) => {
    return await request.post({ url: `/mes/base-work-plan/create`, data })
  },

  // 修改任务单信息
  updateBaseWorkPlan: async (data: BaseWorkPlanVO) => {
    return await request.put({ url: `/mes/base-work-plan/update`, data })
  },

  // 删除任务单信息
  deleteBaseWorkPlan: async (id: number) => {
    return await request.delete({ url: `/mes/base-work-plan/delete?id=` + id })
  },

  // 导出任务单信息 Excel
  exportBaseWorkPlan: async (params) => {
    return await request.download({ url: `/mes/base-work-plan/export-excel`, params })
  },

// ==================== 子表（投料单详细信息） ====================

  // 获得投料单详细信息分页
  getBaseBomChildPage: async (params) => {
    return await request.get({ url: `/mes/base-work-plan/base-bom-child/page`, params })
  },
  // 新增投料单详细信息
  createBaseBomChild: async (data) => {
    return await request.post({ url: `/mes/base-work-plan/base-bom-child/create`, data })
  },

  // 修改投料单详细信息
  updateBaseBomChild: async (data) => {
    return await request.put({ url: `/mes/base-work-plan/base-bom-child/update`, data })
  },

  // 删除投料单详细信息
  deleteBaseBomChild: async (id: number) => {
    return await request.delete({ url: `/mes/base-work-plan/base-bom-child/delete?id=` + id })
  },

  // 获得投料单详细信息
  getBaseBomChild: async (id: number) => {
    return await request.get({ url: `/mes/base-work-plan/base-bom-child/get?id=` + id })
  },
}